package cn.hackcloud.concurrency.observable;

/**
 * 并发编程网
 * www.ibfbc.com
 */
public interface TaskLifeCycle<T> {
    /**
     * 任务启动时触发
     */
    void onStart(Thread thread);

    /**
     * 任务运行时触发
     */
    void onRunning(Thread thread);

    /**
     * 任务结束时触发,result是任务执行结束后的结果
     */
    void onFinish(Thread thread,T result);

    /**
     * 任务异常时触发
     */
    void onError(Thread thread, Exception e);
}
